perm filename NAMEIN.SAI[11,ALS] blob sn#062424 filedate 1973-09-17 generic text, type T, neo UTF8
00010	BEGIN "NAMEIN"
00020	
00030	DEFINE ⊂="COMMENT";
00040	REQUIRE "BLOCKS.HDR[4,ALS]" SOURCE_FILE;
00050	INTEGER I,J,K,L,Q,P,CHAN1,CHAN2,CHAN3,CHAN4,EOF,HPOINT;
00060	INTEGER HPNT1,HPNT2,HPNT3,HPNT4;
00070	STRING READ1,READ2,READ3,READ4,READ5;
00080	INTEGER ARRAY INSAVE[0:4];
00090	
00100	PROCEDURE OUTALL(STRING S);
00110	BEGIN
00120	STRING SS; INTEGER J;
00130	SETBREAK(18,0,NULL,"OSN");
00140	SS←SCAN(S,18,J);
00150	OUTSTR(SS);
00160	END;
00170	
00180	SETBREAK(18,0,NULL,"OSN");
00190	CHAN1←1;  CHAN2←2; CHAN3←3; CHAN4←4;
00200	HEADIN; ⊂ Bring in header information;
00210	
00211	WHILE TRUE DO BEGIN
00212	OUTSTR("The following names have been assigned-"&CRLF);
00214	FOR I←0 STEP 1 UNTIL 23 DO OUTALL(CVSTR(INNAM[I])&TB);
00216	OUTSTR(CRLF);
00218	
00220	WHILE TRUE DO BEGIN
00230	  READ1←STRIN("Type name to be added to list (CR to stop) ");
00240	  IF READ1="" THEN DONE ELSE BEGIN
00250	    FOR I←0 STEP 1 UNTIL 23 DO IF INNAM[I]=0 THEN BEGIN
00260	      INNAM[I]←CVASC(READ1); DONE END;
00270	    IF I≥24 THEN BEGIN
00280	      OUTSTR("Sorry, there is no more space."&CRLF); DONE END;
00290	    END;
00300	  END;
00305	
00310	WHILE TRUE DO BEGIN
00320	  READ1←STRIN("Now type name to be corrected, if any ");
00330	  IF READ1="" THEN DONE ELSE BEGIN
00340	    FOR I←0 STEP 1 UNTIL 23 DO IF CVASC(READ1)=INNAM[I] THEN BEGIN
00350	      INNAM[I]←CVASC(READ2←STRIN("Type corrected name ")); DONE END;
00360	    IF I≥24 THEN OUTSTR("Name could not be found, try again."&crlf);
00365	    END;
00370	  END;
00372	READ1←STRIN("Do you want to review the additions or corrections (Y or CR)");
00374	IF READ1="" THEN DONE END;
     

00010	CHAN1←GETCHAN;
00020	 CLOSE(CHAN1);
00030	  OPEN(CHAN1,"DSK",'10,0,10,0,0,EOF);
00040	  ENTER(CHAN1,"TABHED.DAT",0);
00050	ARRYOUT(CHAN1,INNAM[0],INSIZ);
00060	ARRYOUT(CHAN1,FLIST[0],36);
00070	ARRYOUT(CHAN1,PHLIST[0],64);
00080	ARRYOUT(CHAN1,HLIST[0],64);
00090	ARRYOUT(CHAN1,NAMES[0],TABNUM);
00100	ARRYOUT(CHAN1,PARENT[0],TABNUM);
00110	ARRYOUT(CHAN1,PARENN[0],TABNUM);
00120	ARRYOUT(CHAN1,GATE[0],TABNUM);
00130	ARRYOUT(CHAN1,IN1[0],TABNUM);
00140	ARRYOUT(CHAN1,IN2[0],TABNUM);
00150	ARRYOUT(CHAN1,IN3[0],TABNUM);
00160	ARRYOUT(CHAN1,IN4[0],TABNUM);
00170	ARRYOUT(CHAN1,OUT1[0],TABNUM);
00180	ARRYOUT(CHAN1,OUT2[0],TABNUM);
00190	ARRYOUT(CHAN1,OUT3[0],TABNUM);
00200	ARRYOUT(CHAN1,OUT4[0],TABNUM);
00210	ARRYOUT(CHAN1,LRN1[0],TABNUM);
00220	ARRYOUT(CHAN1,LRN2[0],TABNUM);
00230	ARRYOUT(CHAN1,LRN3[0],TABNUM);
00240	ARRYOUT(CHAN1,LRN4[0],TABNUM);
00250	ARRYOUT(CHAN1,LEVEL[0],TABNUM);
00260	
00270	CLOSE(CHAN1);
00280	RELEASE(CHAN1);
00310	
00690	
00700	END "NAMEIN";